﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ComponentModel.DataAnnotations;
using System.Web.Mvc;
using System.ComponentModel;

namespace GsifWeb4.Models
{
    public class Partials
    {
    }

    [MetadataType(typeof(forum_gsifMD))]
    public partial class forum_gsif
    {
        public class forum_gsifMD
        {
            [AllowHtml]
            [Required(ErrorMessage = "Skriv ett inlägg")]
            public string Text { get; set; }

            [Required(ErrorMessage = "Ange namn")]
            public string Namn { get; set; }
     
        }
    }

    #region laget_gsif
    [MetadataType(typeof(laget_gsif_Validation))]
    public partial class laget_gsif
    {
        public bool AllowedToWebRed()
        {
            if (Permission == GsifWeb4.Permission.Webred.DbValue || Permission == GsifWeb4.Permission.Webmaster.DbValue)
                return true;

            return false;
        }

        public bool AllowedToWebMaster()
        {
            if (Permission == GsifWeb4.Permission.Webmaster.DbValue)
                return true;

            return false;
        }

        [UIHint("Positions")]
        [DisplayName("Position")]
        public string PositionText
        {
            get { return Statuses.GetTextFromDbValue(GsifWeb4.Position.AllStatuses, Position); }
            //get { return Common.Position.GetPositionText(Convert.ToInt32(Position)); }
        }

        [UIHint("Active")]
        [DisplayName("Aktiv")]
        public string ActiveText
        {
             get {
                 StatusValue activeStatus = Statuses.GetStatusFromDbValue(InActivePlayer.AllStatuses, Inaktiv);
                 if (activeStatus == null)
                     return "";
                 return activeStatus.Text;
             }
            //get { return Common.ActivePlayer.GetActiveText(Inaktiv); }
        }

        [UIHint("Injured")]
        [DisplayName("Skadad")]
        public string InjuredText
        {
            get { return Statuses.GetTextFromDbValue(GsifWeb4.InjuredPlayer.AllStatuses, Skadad); }
        }

        [UIHint("Sex")]
        [DisplayName("Kön")]
        public string SexText
        {
            get { return Statuses.GetTextFromDbValue(Sex.AllStatuses, Kon); }
        }

        
    }

    //[Bind(Exclude="ID")]
    public class laget_gsif_Validation
    {
        [Required(ErrorMessage = "Ange förnamn")]
        [StringLength(25, MinimumLength=2, ErrorMessage = "Ett namn måste ha minst två bokstäver")]
        [DisplayName("Förnamn")]
        public string FNamn { get; set; }

        [Required(ErrorMessage = "Ange Efternamn")]
        [StringLength(25, MinimumLength = 2, ErrorMessage = "Ett namn måste ha minst två bokstäver")]
        [DisplayName("Efternamn")]
        public string ENamn { get; set; }

        [Required(ErrorMessage = "Ange Användarnamn")]
        [StringLength(25, MinimumLength = 4, ErrorMessage = "Användarnamn måste vara minst 4 tecken")]
        [DisplayName("Användarnamn")]
        public string Anvandarnamn { get; set; }

        [DisplayName("Motto")]
        public string Motto { get; set; }

        [DisplayName("Längd")]
        public string Langd { get; set; }

        [DisplayName("Vikt")]
        public string Vikt { get; set; }

        [DisplayName("Född")]
        public string Fodd { get; set; }

        [DisplayName("Senast ändrad")]
        public string UpdateDatum { get; set; }

        [DisplayName("Senast inloggad från")]
        public string Ip { get; set; }

        [UIHint("Teams")]
        public string Lag { get; set; }

        [UIHint("Permissions")]
        [DisplayName("Behörighet")]
        public string Permission { get; set; }
    }
    #endregion


    [MetadataType(typeof(aktiviteter_gsif_Validation))]
    public partial class aktiviteter_gsif
    {

    }

    public class aktiviteter_gsif_Validation
    {
        [Required(ErrorMessage = "Ange datum")]
        public DateTime Datum { get; set; }

        [Required(ErrorMessage = "Ange aktivitet")]
        [StringLength(100, MinimumLength = 1, ErrorMessage = "Ange namn på aktiviteten")]
        public string Aktivitet { get; set; }

    }
}

    